[INFO] fetching crate oak-perl 0.0.10...
[INFO] testing oak-perl-0.0.10 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate oak-perl 0.0.10 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate oak-perl 0.0.10
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oak-perl 0.0.10
[INFO] tweaked toml for crates.io crate oak-perl 0.0.10 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oak-perl 0.0.10 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oak-perl 0.0.10 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded oak-mcp v0.0.10
[INFO] [stderr]   Downloaded oak-vfs v0.0.10
[INFO] [stderr]   Downloaded oak-symbols v0.0.10
[INFO] [stderr]   Downloaded oak-macros v0.0.10
[INFO] [stderr]   Downloaded oak-testing v0.0.10
[INFO] [stderr]   Downloaded triomphe v0.1.15
[INFO] [stderr]   Downloaded oak-highlight v0.0.10
[INFO] [stderr]   Downloaded oak-lsp v0.0.10
[INFO] [stderr]   Downloaded oak-core v0.0.10
[INFO] [stderr]   Downloaded oak-pretty-print v0.0.10
[INFO] [stderr]   Downloaded oak-hover v0.0.10
[INFO] [stderr]   Downloaded oak-folding v0.0.10
[INFO] [stderr]   Downloaded oak-resolver v0.0.10
[INFO] [stderr]   Downloaded oak-navigation v0.0.10
[INFO] [stderr]   Downloaded oak-semantic-search v0.0.10
[INFO] [stderr]   Downloaded notify-types v2.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2f86a25edf4f46aafeebcb2a498e5b4ff4211e7238eefab5afb70396d78c1599
[INFO] running `Command { std: "docker" "start" "-a" "2f86a25edf4f46aafeebcb2a498e5b4ff4211e7238eefab5afb70396d78c1599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2f86a25edf4f46aafeebcb2a498e5b4ff4211e7238eefab5afb70396d78c1599", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f86a25edf4f46aafeebcb2a498e5b4ff4211e7238eefab5afb70396d78c1599", kill_on_drop: false }`
[INFO] [stdout] 2f86a25edf4f46aafeebcb2a498e5b4ff4211e7238eefab5afb70396d78c1599
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d905786d7144595fda9058d936d27a62ab70c16a2879f1af23dda37e8d91661
[INFO] running `Command { std: "docker" "start" "-a" "5d905786d7144595fda9058d936d27a62ab70c16a2879f1af23dda37e8d91661", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling twox-hash v2.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling oak-core v0.0.10
[INFO] [stderr]    Compiling oak-perl v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: feature `new_range_api` is declared but not used
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(new_range_api)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.78s
[INFO] running `Command { std: "docker" "inspect" "5d905786d7144595fda9058d936d27a62ab70c16a2879f1af23dda37e8d91661", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d905786d7144595fda9058d936d27a62ab70c16a2879f1af23dda37e8d91661", kill_on_drop: false }`
[INFO] [stdout] 5d905786d7144595fda9058d936d27a62ab70c16a2879f1af23dda37e8d91661
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a90b16196db8b31ba33f40948a40d16aff6f5bc17d714652e2de48303e65e882
[INFO] running `Command { std: "docker" "start" "-a" "a90b16196db8b31ba33f40948a40d16aff6f5bc17d714652e2de48303e65e882", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stdout] warning: feature `new_range_api` is declared but not used
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(new_range_api)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oak-testing v0.0.10
[INFO] [stderr]    Compiling oak-perl v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: feature `new_range_api` is declared but not used
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(new_range_api)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.98s
[INFO] running `Command { std: "docker" "inspect" "a90b16196db8b31ba33f40948a40d16aff6f5bc17d714652e2de48303e65e882", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a90b16196db8b31ba33f40948a40d16aff6f5bc17d714652e2de48303e65e882", kill_on_drop: false }`
[INFO] [stdout] a90b16196db8b31ba33f40948a40d16aff6f5bc17d714652e2de48303e65e882
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3dfe22ab737a694922dd92e6e6573646b8774ac0117f581f0bb4044d4a701a03
[INFO] running `Command { std: "docker" "start" "-a" "3dfe22ab737a694922dd92e6e6573646b8774ac0117f581f0bb4044d4a701a03", kill_on_drop: false }`
[INFO] [stderr] warning: feature `new_range_api` is declared but not used
[INFO] [stderr]  --> src/lib.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | #![feature(new_range_api)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `oak-perl` (lib) generated 1 warning
[INFO] [stderr] warning: `oak-perl` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_perl-be47300bda0e7587)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-fbf9b8c8fbf0ac72)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test ready ... ok
[INFO] [stdout] test lexer::test_perl_lexer ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lexer::test_perl_lexer stdout ----
[INFO] [stdout] Testing file: /opt/rustwide/workdir/tests/lexer/basic.pl
[INFO] [stderr] error: test failed, to rerun pass `--test main`
[INFO] [stdout] Error: TestFailure { path: "/opt/rustwide/workdir/tests/lexer/basic.pl", expected: "LexerTestExpected {\n    success: true,\n    count: 100,\n    tokens: [\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 17,\n            end: 20,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"strict\",\n            start: 21,\n            end: 27,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 27,\n            end: 28,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 30,\n            end: 33,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"warnings\",\n            start: 34,\n            end: 42,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 42,\n            end: 43,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 45,\n            end: 48,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"feature\",\n            start: 49,\n            end: 56,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'say'\",\n            start: 57,\n            end: 62,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 62,\n            end: 63,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 65,\n            end: 68,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Data\",\n            start: 69,\n            end: 73,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 73,\n            end: 74,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 74,\n            end: 75,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Dumper\",\n            start: 75,\n            end: 81,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 81,\n            end: 82,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 84,\n            end: 87,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 88,\n            end: 92,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 92,\n            end: 93,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 93,\n            end: 94,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Util\",\n            start: 94,\n            end: 98,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 99,\n            end: 101,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 101,\n            end: 102,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum\",\n            start: 102,\n            end: 105,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max\",\n            start: 106,\n            end: 109,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"min\",\n            start: 110,\n            end: 113,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"first\",\n            start: 114,\n            end: 119,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 119,\n            end: 120,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 120,\n            end: 121,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 123,\n            end: 126,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Scalar\",\n            start: 127,\n            end: 133,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 133,\n            end: 134,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 134,\n            end: 135,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Util\",\n            start: 135,\n            end: 139,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 140,\n            end: 142,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 142,\n            end: 143,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"looks_like_number\",\n            start: 143,\n            end: 160,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"blessed\",\n            start: 161,\n            end: 168,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 168,\n            end: 169,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 169,\n            end: 170,\n        },\n        TokenData {\n            kind: \"Package\",\n            text: \"package\",\n            start: 196,\n            end: 203,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Person\",\n            start: 204,\n            end: 210,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 210,\n            end: 211,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 215,\n            end: 218,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 219,\n            end: 222,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 223,\n            end: 224,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 230,\n            end: 232,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 233,\n            end: 234,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 234,\n            end: 240,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 240,\n            end: 241,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%args\",\n            start: 242,\n            end: 247,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 247,\n            end: 248,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 249,\n            end: 250,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 251,\n            end: 253,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 253,\n            end: 254,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 260,\n            end: 262,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 263,\n            end: 268,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 269,\n            end: 270,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 271,\n            end: 272,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 282,\n            end: 286,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 287,\n            end: 288,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 288,\n            end: 289,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 290,\n            end: 295,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 295,\n            end: 296,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 296,\n            end: 300,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 300,\n            end: 301,\n        },\n        TokenData {\n            kind: \"LogicalOr\",\n            text: \"||\",\n            start: 302,\n            end: 304,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'Unknown'\",\n            start: 305,\n            end: 314,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 314,\n            end: 315,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 325,\n            end: 328,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 330,\n            end: 331,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 331,\n            end: 332,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 333,\n            end: 338,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 338,\n            end: 339,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 339,\n            end: 342,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 342,\n            end: 343,\n        },\n        TokenData {\n            kind: \"LogicalOr\",\n            text: \"||\",\n            start: 345,\n            end: 347,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 348,\n            end: 349,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 349,\n            end: 350,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 360,\n            end: 365,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 366,\n            end: 367,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 367,\n            end: 368,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 369,\n            end: 374,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 374,\n            end: 375,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 375,\n            end: 380,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 380,\n            end: 381,\n        },\n        TokenData {\n            kind: \"LogicalOr\",\n            text: \"||\",\n            start: 382,\n            end: 384,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"''\",\n            start: 385,\n            end: 387,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 387,\n            end: 388,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 394,\n            end: 395,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 395,\n            end: 396,\n        },\n        TokenData {\n            kind: \"Bless\",\n            text: \"bless\",\n            start: 402,\n            end: 407,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 408,\n            end: 413,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 413,\n            end: 414,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 415,\n            end: 421,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 421,\n            end: 422,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 428,\n            end: 434,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 435,\n            end: 440,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 440,\n            end: 441,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 443,\n            end: 444,\n        },\n    ],\n    errors: [],\n}", actual: "LexerTestExpected {\n    success: true,\n    count: 2020,\n    tokens: [\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 17,\n            end: 20,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"strict\",\n            start: 21,\n            end: 27,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 27,\n            end: 28,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 30,\n            end: 33,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"warnings\",\n            start: 34,\n            end: 42,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 42,\n            end: 43,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 45,\n            end: 48,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"feature\",\n            start: 49,\n            end: 56,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'say'\",\n            start: 57,\n            end: 62,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 62,\n            end: 63,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 65,\n            end: 68,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Data\",\n            start: 69,\n            end: 73,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 73,\n            end: 74,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 74,\n            end: 75,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Dumper\",\n            start: 75,\n            end: 81,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 81,\n            end: 82,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 84,\n            end: 87,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"List\",\n            start: 88,\n            end: 92,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 92,\n            end: 93,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 93,\n            end: 94,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Util\",\n            start: 94,\n            end: 98,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 99,\n            end: 101,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 101,\n            end: 102,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum\",\n            start: 102,\n            end: 105,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max\",\n            start: 106,\n            end: 109,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"min\",\n            start: 110,\n            end: 113,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"first\",\n            start: 114,\n            end: 119,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 119,\n            end: 120,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 120,\n            end: 121,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 123,\n            end: 126,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Scalar\",\n            start: 127,\n            end: 133,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 133,\n            end: 134,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 134,\n            end: 135,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Util\",\n            start: 135,\n            end: 139,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 140,\n            end: 142,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 142,\n            end: 143,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"looks_like_number\",\n            start: 143,\n            end: 160,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"blessed\",\n            start: 161,\n            end: 168,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 168,\n            end: 169,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 169,\n            end: 170,\n        },\n        TokenData {\n            kind: \"Package\",\n            text: \"package\",\n            start: 196,\n            end: 203,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Person\",\n            start: 204,\n            end: 210,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 210,\n            end: 211,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 215,\n            end: 218,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 219,\n            end: 222,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 223,\n            end: 224,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 230,\n            end: 232,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 233,\n            end: 234,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 234,\n            end: 240,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 240,\n            end: 241,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%args\",\n            start: 242,\n            end: 247,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 247,\n            end: 248,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 249,\n            end: 250,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 251,\n            end: 253,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 253,\n            end: 254,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 260,\n            end: 262,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 263,\n            end: 268,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 269,\n            end: 270,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 271,\n            end: 272,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 282,\n            end: 286,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 287,\n            end: 288,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 288,\n            end: 289,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 290,\n            end: 295,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 295,\n            end: 296,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 296,\n            end: 300,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 300,\n            end: 301,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 302,\n            end: 303,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 303,\n            end: 304,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'Unknown'\",\n            start: 305,\n            end: 314,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 314,\n            end: 315,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 325,\n            end: 328,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 330,\n            end: 331,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 331,\n            end: 332,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 333,\n            end: 338,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 338,\n            end: 339,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 339,\n            end: 342,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 342,\n            end: 343,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 345,\n            end: 346,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 346,\n            end: 347,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 348,\n            end: 349,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 349,\n            end: 350,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 360,\n            end: 365,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 366,\n            end: 367,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 367,\n            end: 368,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 369,\n            end: 374,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 374,\n            end: 375,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 375,\n            end: 380,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 380,\n            end: 381,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 382,\n            end: 383,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 383,\n            end: 384,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"''\",\n            start: 385,\n            end: 387,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 387,\n            end: 388,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 394,\n            end: 395,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 395,\n            end: 396,\n        },\n        TokenData {\n            kind: \"Bless\",\n            text: \"bless\",\n            start: 402,\n            end: 407,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 408,\n            end: 413,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 413,\n            end: 414,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 415,\n            end: 421,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 421,\n            end: 422,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 428,\n            end: 434,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 435,\n            end: 440,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 440,\n            end: 441,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 443,\n            end: 444,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 448,\n            end: 451,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_name\",\n            start: 452,\n            end: 460,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 461,\n            end: 462,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 468,\n            end: 470,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 471,\n            end: 476,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 477,\n            end: 478,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 479,\n            end: 484,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 484,\n            end: 485,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 491,\n            end: 497,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 498,\n            end: 503,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 503,\n            end: 505,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 505,\n            end: 506,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 506,\n            end: 510,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 510,\n            end: 511,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 511,\n            end: 512,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 514,\n            end: 515,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 519,\n            end: 522,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"set_name\",\n            start: 523,\n            end: 531,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 532,\n            end: 533,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 539,\n            end: 541,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 542,\n            end: 543,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 543,\n            end: 548,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 548,\n            end: 549,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 550,\n            end: 555,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 555,\n            end: 556,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 557,\n            end: 558,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 559,\n            end: 561,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 561,\n            end: 562,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 568,\n            end: 573,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 573,\n            end: 575,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 575,\n            end: 576,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 576,\n            end: 580,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 580,\n            end: 581,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 582,\n            end: 583,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 584,\n            end: 589,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 589,\n            end: 590,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 592,\n            end: 593,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 597,\n            end: 600,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_age\",\n            start: 601,\n            end: 608,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 609,\n            end: 610,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 616,\n            end: 618,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 619,\n            end: 624,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 625,\n            end: 626,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 627,\n            end: 632,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 632,\n            end: 633,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 639,\n            end: 645,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 646,\n            end: 651,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 651,\n            end: 653,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 653,\n            end: 654,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 654,\n            end: 657,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 657,\n            end: 658,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 658,\n            end: 659,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 661,\n            end: 662,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 666,\n            end: 669,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"set_age\",\n            start: 670,\n            end: 677,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 678,\n            end: 679,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 685,\n            end: 687,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 688,\n            end: 689,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 689,\n            end: 694,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 694,\n            end: 695,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 696,\n            end: 700,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 700,\n            end: 701,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 702,\n            end: 703,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 704,\n            end: 706,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 706,\n            end: 707,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 713,\n            end: 715,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 716,\n            end: 717,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"looks_like_number\",\n            start: 717,\n            end: 734,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 734,\n            end: 735,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 735,\n            end: 739,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 739,\n            end: 740,\n        },\n        TokenData {\n            kind: \"BitwiseAnd\",\n            text: \"&\",\n            start: 741,\n            end: 742,\n        },\n        TokenData {\n            kind: \"BitwiseAnd\",\n            text: \"&\",\n            start: 742,\n            end: 743,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 744,\n            end: 748,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 749,\n            end: 751,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 752,\n            end: 753,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 753,\n            end: 754,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 755,\n            end: 756,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 766,\n            end: 771,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 771,\n            end: 773,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 773,\n            end: 774,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 774,\n            end: 777,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 777,\n            end: 778,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 779,\n            end: 780,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 781,\n            end: 785,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 785,\n            end: 786,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 792,\n            end: 793,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 794,\n            end: 798,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 799,\n            end: 800,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 810,\n            end: 813,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Invalid age: $age\\\"\",\n            start: 814,\n            end: 833,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 833,\n            end: 834,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 840,\n            end: 841,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 843,\n            end: 844,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 848,\n            end: 851,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_email\",\n            start: 852,\n            end: 861,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 862,\n            end: 863,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 869,\n            end: 871,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 872,\n            end: 877,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 878,\n            end: 879,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 880,\n            end: 885,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 885,\n            end: 886,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 892,\n            end: 898,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 899,\n            end: 904,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 904,\n            end: 906,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 906,\n            end: 907,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 907,\n            end: 912,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 912,\n            end: 913,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 913,\n            end: 914,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 916,\n            end: 917,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 921,\n            end: 924,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"set_email\",\n            start: 925,\n            end: 934,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 935,\n            end: 936,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 942,\n            end: 944,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 945,\n            end: 946,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 946,\n            end: 951,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 951,\n            end: 952,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 953,\n            end: 959,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 959,\n            end: 960,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 961,\n            end: 962,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 963,\n            end: 965,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 965,\n            end: 966,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 972,\n            end: 974,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 975,\n            end: 976,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 976,\n            end: 982,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"=~\",\n            start: 983,\n            end: 985,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 986,\n            end: 987,\n        },\n        TokenData {\n            kind: \"BitwiseXor\",\n            text: \"^\",\n            start: 987,\n            end: 988,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 988,\n            end: 989,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 989,\n            end: 990,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 990,\n            end: 991,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 991,\n            end: 993,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 993,\n            end: 994,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z0\",\n            start: 994,\n            end: 996,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 996,\n            end: 997,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"9.\",\n            start: 997,\n            end: 999,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 999,\n            end: 1000,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%\",\n            start: 1000,\n            end: 1001,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 1001,\n            end: 1002,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1002,\n            end: 1003,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 1003,\n            end: 1004,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 1004,\n            end: 1005,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 1005,\n            end: 1006,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 1006,\n            end: 1007,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1007,\n            end: 1008,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1008,\n            end: 1009,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 1009,\n            end: 1011,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1011,\n            end: 1012,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z0\",\n            start: 1012,\n            end: 1014,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1014,\n            end: 1015,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"9.\",\n            start: 1015,\n            end: 1017,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1017,\n            end: 1018,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 1018,\n            end: 1019,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 1019,\n            end: 1020,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 1020,\n            end: 1021,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 1021,\n            end: 1022,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 1022,\n            end: 1023,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 1023,\n            end: 1024,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1024,\n            end: 1025,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 1025,\n            end: 1027,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 1027,\n            end: 1028,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z\",\n            start: 1028,\n            end: 1029,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 1029,\n            end: 1030,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1030,\n            end: 1031,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 1031,\n            end: 1032,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1032,\n            end: 1033,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1033,\n            end: 1034,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 1034,\n            end: 1035,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 1035,\n            end: 1036,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1036,\n            end: 1037,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1038,\n            end: 1039,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1049,\n            end: 1054,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1054,\n            end: 1056,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1056,\n            end: 1057,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 1057,\n            end: 1062,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1062,\n            end: 1063,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1064,\n            end: 1065,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 1066,\n            end: 1072,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1072,\n            end: 1073,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1079,\n            end: 1080,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 1081,\n            end: 1085,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1086,\n            end: 1087,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 1097,\n            end: 1100,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Invalid email format: $email\\\"\",\n            start: 1101,\n            end: 1131,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1131,\n            end: 1132,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1138,\n            end: 1139,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1141,\n            end: 1142,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1146,\n            end: 1149,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"to_string\",\n            start: 1150,\n            end: 1159,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1160,\n            end: 1161,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1167,\n            end: 1169,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1170,\n            end: 1175,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1176,\n            end: 1177,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 1178,\n            end: 1183,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1183,\n            end: 1184,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 1190,\n            end: 1196,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sprintf\",\n            start: 1197,\n            end: 1204,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1204,\n            end: 1205,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Person(name='%s', age=%d, email='%s')\\\"\",\n            start: 1205,\n            end: 1244,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1244,\n            end: 1245,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1267,\n            end: 1272,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1272,\n            end: 1274,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1274,\n            end: 1275,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 1275,\n            end: 1279,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1279,\n            end: 1280,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1280,\n            end: 1281,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1282,\n            end: 1287,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1287,\n            end: 1289,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1289,\n            end: 1290,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 1290,\n            end: 1293,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1293,\n            end: 1294,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1294,\n            end: 1295,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1296,\n            end: 1301,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1301,\n            end: 1303,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1303,\n            end: 1304,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 1304,\n            end: 1309,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1309,\n            end: 1310,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1310,\n            end: 1311,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1311,\n            end: 1312,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1314,\n            end: 1315,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1319,\n            end: 1322,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_adult\",\n            start: 1323,\n            end: 1331,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1332,\n            end: 1333,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1339,\n            end: 1341,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1342,\n            end: 1347,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1348,\n            end: 1349,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 1350,\n            end: 1355,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1355,\n            end: 1356,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 1362,\n            end: 1368,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1369,\n            end: 1374,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1374,\n            end: 1376,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1376,\n            end: 1377,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 1377,\n            end: 1380,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1380,\n            end: 1381,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 1382,\n            end: 1384,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"18\",\n            start: 1385,\n            end: 1387,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1387,\n            end: 1388,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1390,\n            end: 1391,\n        },\n        TokenData {\n            kind: \"Package\",\n            text: \"package\",\n            start: 1436,\n            end: 1443,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Employee\",\n            start: 1444,\n            end: 1452,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1452,\n            end: 1453,\n        },\n        TokenData {\n            kind: \"Use\",\n            text: \"use\",\n            start: 1455,\n            end: 1458,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"parent\",\n            start: 1459,\n            end: 1465,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'Person'\",\n            start: 1466,\n            end: 1474,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1474,\n            end: 1475,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1479,\n            end: 1482,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 1483,\n            end: 1486,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1487,\n            end: 1488,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1494,\n            end: 1496,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1497,\n            end: 1498,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 1498,\n            end: 1504,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1504,\n            end: 1505,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%args\",\n            start: 1506,\n            end: 1511,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1511,\n            end: 1512,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1513,\n            end: 1514,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 1515,\n            end: 1517,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1517,\n            end: 1518,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1524,\n            end: 1526,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1527,\n            end: 1532,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1533,\n            end: 1534,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$class\",\n            start: 1535,\n            end: 1541,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1541,\n            end: 1543,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"SUPER\",\n            start: 1543,\n            end: 1548,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 1548,\n            end: 1549,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 1549,\n            end: 1550,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 1550,\n            end: 1553,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1553,\n            end: 1554,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%args\",\n            start: 1554,\n            end: 1559,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1559,\n            end: 1560,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1560,\n            end: 1561,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1567,\n            end: 1572,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1572,\n            end: 1574,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1574,\n            end: 1575,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"employee_id\",\n            start: 1575,\n            end: 1586,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1586,\n            end: 1587,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1588,\n            end: 1589,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 1590,\n            end: 1595,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1595,\n            end: 1596,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"employee_id\",\n            start: 1596,\n            end: 1607,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1607,\n            end: 1608,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1609,\n            end: 1610,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1610,\n            end: 1611,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 1612,\n            end: 1613,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1613,\n            end: 1614,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1620,\n            end: 1625,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1625,\n            end: 1627,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1627,\n            end: 1628,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 1628,\n            end: 1638,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1638,\n            end: 1639,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1640,\n            end: 1641,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 1642,\n            end: 1647,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1647,\n            end: 1648,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 1648,\n            end: 1658,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1658,\n            end: 1659,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1660,\n            end: 1661,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1661,\n            end: 1662,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'Unknown'\",\n            start: 1663,\n            end: 1672,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1672,\n            end: 1673,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1679,\n            end: 1684,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1684,\n            end: 1686,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1686,\n            end: 1687,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 1687,\n            end: 1693,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1693,\n            end: 1694,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1695,\n            end: 1696,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$args\",\n            start: 1697,\n            end: 1702,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1702,\n            end: 1703,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 1703,\n            end: 1709,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1709,\n            end: 1710,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1711,\n            end: 1712,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 1712,\n            end: 1713,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 1714,\n            end: 1715,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1715,\n            end: 1716,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 1722,\n            end: 1728,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1729,\n            end: 1734,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1734,\n            end: 1735,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1737,\n            end: 1738,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1742,\n            end: 1745,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_employee_id\",\n            start: 1746,\n            end: 1761,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1762,\n            end: 1763,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1769,\n            end: 1771,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1772,\n            end: 1777,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1778,\n            end: 1779,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 1780,\n            end: 1785,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1785,\n            end: 1786,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 1792,\n            end: 1798,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1799,\n            end: 1804,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1804,\n            end: 1806,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1806,\n            end: 1807,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"employee_id\",\n            start: 1807,\n            end: 1818,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1818,\n            end: 1819,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1819,\n            end: 1820,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1822,\n            end: 1823,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1827,\n            end: 1830,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_department\",\n            start: 1831,\n            end: 1845,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1846,\n            end: 1847,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1853,\n            end: 1855,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1856,\n            end: 1861,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1862,\n            end: 1863,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 1864,\n            end: 1869,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1869,\n            end: 1870,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 1876,\n            end: 1882,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1883,\n            end: 1888,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1888,\n            end: 1890,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1890,\n            end: 1891,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 1891,\n            end: 1901,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1901,\n            end: 1902,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1902,\n            end: 1903,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1905,\n            end: 1906,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 1910,\n            end: 1913,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"set_department\",\n            start: 1914,\n            end: 1928,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1929,\n            end: 1930,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 1936,\n            end: 1938,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 1939,\n            end: 1940,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1940,\n            end: 1945,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 1945,\n            end: 1946,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$department\",\n            start: 1947,\n            end: 1958,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 1958,\n            end: 1959,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1960,\n            end: 1961,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 1962,\n            end: 1964,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 1964,\n            end: 1965,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 1971,\n            end: 1976,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 1976,\n            end: 1978,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 1978,\n            end: 1979,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 1979,\n            end: 1989,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 1989,\n            end: 1990,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 1991,\n            end: 1992,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$department\",\n            start: 1993,\n            end: 2004,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2004,\n            end: 2005,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2007,\n            end: 2008,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 2012,\n            end: 2015,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"get_salary\",\n            start: 2016,\n            end: 2026,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2027,\n            end: 2028,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2034,\n            end: 2036,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2037,\n            end: 2042,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2043,\n            end: 2044,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 2045,\n            end: 2050,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2050,\n            end: 2051,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 2057,\n            end: 2063,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2064,\n            end: 2069,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2069,\n            end: 2071,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2071,\n            end: 2072,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 2072,\n            end: 2078,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2078,\n            end: 2079,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2079,\n            end: 2080,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2082,\n            end: 2083,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 2087,\n            end: 2090,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"set_salary\",\n            start: 2091,\n            end: 2101,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2102,\n            end: 2103,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2109,\n            end: 2111,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2112,\n            end: 2113,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2113,\n            end: 2118,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2118,\n            end: 2119,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$salary\",\n            start: 2120,\n            end: 2127,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2127,\n            end: 2128,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2129,\n            end: 2130,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 2131,\n            end: 2133,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2133,\n            end: 2134,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 2140,\n            end: 2142,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2143,\n            end: 2144,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"looks_like_number\",\n            start: 2144,\n            end: 2161,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2161,\n            end: 2162,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$salary\",\n            start: 2162,\n            end: 2169,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2169,\n            end: 2170,\n        },\n        TokenData {\n            kind: \"BitwiseAnd\",\n            text: \"&\",\n            start: 2171,\n            end: 2172,\n        },\n        TokenData {\n            kind: \"BitwiseAnd\",\n            text: \"&\",\n            start: 2172,\n            end: 2173,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$salary\",\n            start: 2174,\n            end: 2181,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 2182,\n            end: 2184,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 2185,\n            end: 2186,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2186,\n            end: 2187,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2188,\n            end: 2189,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2199,\n            end: 2204,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2204,\n            end: 2206,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2206,\n            end: 2207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 2207,\n            end: 2213,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2213,\n            end: 2214,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2215,\n            end: 2216,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$salary\",\n            start: 2217,\n            end: 2224,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2224,\n            end: 2225,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2231,\n            end: 2232,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 2233,\n            end: 2237,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2238,\n            end: 2239,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 2249,\n            end: 2252,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Invalid salary: $salary\\\"\",\n            start: 2253,\n            end: 2278,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2278,\n            end: 2279,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2285,\n            end: 2286,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2288,\n            end: 2289,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 2293,\n            end: 2296,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"to_string\",\n            start: 2297,\n            end: 2306,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2307,\n            end: 2308,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2314,\n            end: 2316,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2317,\n            end: 2322,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2323,\n            end: 2324,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 2325,\n            end: 2330,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2330,\n            end: 2331,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 2337,\n            end: 2343,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sprintf\",\n            start: 2344,\n            end: 2351,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2351,\n            end: 2352,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Employee(name='%s', age=%d, email='%s', id=%d, dept='%s', salary=%.2f)\\\"\",\n            start: 2352,\n            end: 2424,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2424,\n            end: 2425,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2447,\n            end: 2452,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2452,\n            end: 2454,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2454,\n            end: 2455,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 2455,\n            end: 2459,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2459,\n            end: 2460,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2460,\n            end: 2461,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2462,\n            end: 2467,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2467,\n            end: 2469,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2469,\n            end: 2470,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 2470,\n            end: 2473,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2473,\n            end: 2474,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2474,\n            end: 2475,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2476,\n            end: 2481,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2481,\n            end: 2483,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2483,\n            end: 2484,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 2484,\n            end: 2489,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2489,\n            end: 2490,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2490,\n            end: 2491,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2513,\n            end: 2518,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2518,\n            end: 2520,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2520,\n            end: 2521,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"employee_id\",\n            start: 2521,\n            end: 2532,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2532,\n            end: 2533,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2533,\n            end: 2534,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2535,\n            end: 2540,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2540,\n            end: 2542,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2542,\n            end: 2543,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 2543,\n            end: 2553,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2553,\n            end: 2554,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2554,\n            end: 2555,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$self\",\n            start: 2556,\n            end: 2561,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 2561,\n            end: 2563,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 2563,\n            end: 2564,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 2564,\n            end: 2570,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2570,\n            end: 2571,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2571,\n            end: 2572,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2572,\n            end: 2573,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 2575,\n            end: 2576,\n        },\n        TokenData {\n            kind: \"Package\",\n            text: \"package\",\n            start: 2596,\n            end: 2603,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"main\",\n            start: 2604,\n            end: 2608,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2608,\n            end: 2609,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2641,\n            end: 2643,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 2644,\n            end: 2649,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2650,\n            end: 2651,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"John Doe\\\"\",\n            start: 2652,\n            end: 2662,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2662,\n            end: 2663,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2665,\n            end: 2667,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 2668,\n            end: 2672,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2673,\n            end: 2674,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"30\",\n            start: 2675,\n            end: 2677,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2677,\n            end: 2678,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2680,\n            end: 2682,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$height\",\n            start: 2683,\n            end: 2690,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2691,\n            end: 2692,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5.9\",\n            start: 2693,\n            end: 2696,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2696,\n            end: 2697,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2699,\n            end: 2701,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$is_married\",\n            start: 2702,\n            end: 2713,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2714,\n            end: 2715,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 2716,\n            end: 2717,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2717,\n            end: 2718,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2738,\n            end: 2740,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$spouse\",\n            start: 2741,\n            end: 2748,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2749,\n            end: 2750,\n        },\n        TokenData {\n            kind: \"Undef\",\n            text: \"undef\",\n            start: 2751,\n            end: 2756,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2756,\n            end: 2757,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2784,\n            end: 2786,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 2787,\n            end: 2795,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2796,\n            end: 2797,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2798,\n            end: 2799,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 2799,\n            end: 2800,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2800,\n            end: 2801,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 2802,\n            end: 2803,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2803,\n            end: 2804,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"3\",\n            start: 2805,\n            end: 2806,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2806,\n            end: 2807,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"4\",\n            start: 2808,\n            end: 2809,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2809,\n            end: 2810,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 2811,\n            end: 2812,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2812,\n            end: 2813,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2813,\n            end: 2814,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2816,\n            end: 2818,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@fruits\",\n            start: 2819,\n            end: 2826,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2827,\n            end: 2828,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 2829,\n            end: 2831,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2831,\n            end: 2832,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"apple\",\n            start: 2832,\n            end: 2837,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"banana\",\n            start: 2838,\n            end: 2844,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"cherry\",\n            start: 2845,\n            end: 2851,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"date\",\n            start: 2852,\n            end: 2856,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"elderberry\",\n            start: 2857,\n            end: 2867,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2867,\n            end: 2868,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2868,\n            end: 2869,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2871,\n            end: 2873,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@mixed\",\n            start: 2874,\n            end: 2880,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2881,\n            end: 2882,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2883,\n            end: 2884,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 2884,\n            end: 2885,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2885,\n            end: 2886,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"hello\\\"\",\n            start: 2887,\n            end: 2894,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2894,\n            end: 2895,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"3.14\",\n            start: 2896,\n            end: 2900,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2900,\n            end: 2901,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"world\\\"\",\n            start: 2902,\n            end: 2909,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 2909,\n            end: 2910,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 2910,\n            end: 2911,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 2925,\n            end: 2927,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%person\",\n            start: 2928,\n            end: 2935,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2936,\n            end: 2937,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 2938,\n            end: 2939,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 2945,\n            end: 2949,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2950,\n            end: 2951,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 2951,\n            end: 2952,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Alice\\\"\",\n            start: 2953,\n            end: 2960,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2960,\n            end: 2961,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 2967,\n            end: 2970,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2971,\n            end: 2972,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 2972,\n            end: 2973,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"25\",\n            start: 2974,\n            end: 2976,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 2976,\n            end: 2977,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"city\",\n            start: 2983,\n            end: 2987,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 2988,\n            end: 2989,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 2989,\n            end: 2990,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"New York\\\"\",\n            start: 2991,\n            end: 3001,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3001,\n            end: 3002,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"hobbies\",\n            start: 3008,\n            end: 3015,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3016,\n            end: 3017,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3017,\n            end: 3018,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3019,\n            end: 3020,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"reading\\\"\",\n            start: 3020,\n            end: 3029,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3029,\n            end: 3030,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"swimming\\\"\",\n            start: 3031,\n            end: 3041,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3041,\n            end: 3042,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"coding\\\"\",\n            start: 3043,\n            end: 3051,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3051,\n            end: 3052,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3054,\n            end: 3055,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3055,\n            end: 3056,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3060,\n            end: 3062,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%colors\",\n            start: 3063,\n            end: 3070,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3071,\n            end: 3072,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3073,\n            end: 3074,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"red\",\n            start: 3080,\n            end: 3083,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3086,\n            end: 3087,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3087,\n            end: 3088,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"#FF0000\\\"\",\n            start: 3089,\n            end: 3098,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3098,\n            end: 3099,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"green\",\n            start: 3105,\n            end: 3110,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3111,\n            end: 3112,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3112,\n            end: 3113,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"#00FF00\\\"\",\n            start: 3114,\n            end: 3123,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3123,\n            end: 3124,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"blue\",\n            start: 3130,\n            end: 3134,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3136,\n            end: 3137,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3137,\n            end: 3138,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"#0000FF\\\"\",\n            start: 3139,\n            end: 3148,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3148,\n            end: 3149,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"yellow\",\n            start: 3155,\n            end: 3161,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3162,\n            end: 3163,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3163,\n            end: 3164,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"#FFFF00\\\"\",\n            start: 3165,\n            end: 3174,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3176,\n            end: 3177,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3177,\n            end: 3178,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3196,\n            end: 3198,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$array_ref\",\n            start: 3199,\n            end: 3209,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3210,\n            end: 3211,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 3212,\n            end: 3213,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 3213,\n            end: 3221,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3221,\n            end: 3222,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3224,\n            end: 3226,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$hash_ref\",\n            start: 3227,\n            end: 3236,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3237,\n            end: 3238,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 3239,\n            end: 3240,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%person\",\n            start: 3240,\n            end: 3247,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3247,\n            end: 3248,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3250,\n            end: 3252,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$scalar_ref\",\n            start: 3253,\n            end: 3264,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3265,\n            end: 3266,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 3267,\n            end: 3268,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 3268,\n            end: 3273,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3273,\n            end: 3274,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3302,\n            end: 3304,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$anon_array\",\n            start: 3305,\n            end: 3316,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3317,\n            end: 3318,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3319,\n            end: 3320,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3320,\n            end: 3321,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3321,\n            end: 3322,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 3323,\n            end: 3324,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3324,\n            end: 3325,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"3\",\n            start: 3326,\n            end: 3327,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3327,\n            end: 3328,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"4\",\n            start: 3329,\n            end: 3330,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3330,\n            end: 3331,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 3332,\n            end: 3333,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3333,\n            end: 3334,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3334,\n            end: 3335,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3337,\n            end: 3339,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$anon_hash\",\n            start: 3340,\n            end: 3350,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3351,\n            end: 3352,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3353,\n            end: 3354,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"x\",\n            start: 3360,\n            end: 3361,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3362,\n            end: 3363,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3363,\n            end: 3364,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 3365,\n            end: 3367,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3367,\n            end: 3368,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"y\",\n            start: 3374,\n            end: 3375,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3376,\n            end: 3377,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3377,\n            end: 3378,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"20\",\n            start: 3379,\n            end: 3381,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3381,\n            end: 3382,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"z\",\n            start: 3388,\n            end: 3389,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3390,\n            end: 3391,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 3391,\n            end: 3392,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"30\",\n            start: 3393,\n            end: 3395,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 3397,\n            end: 3398,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3398,\n            end: 3399,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 3418,\n            end: 3421,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"greet\",\n            start: 3422,\n            end: 3427,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3428,\n            end: 3429,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3435,\n            end: 3437,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3438,\n            end: 3439,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 3439,\n            end: 3444,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 3444,\n            end: 3445,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$greeting\",\n            start: 3446,\n            end: 3455,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3455,\n            end: 3456,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3457,\n            end: 3458,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 3459,\n            end: 3461,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3461,\n            end: 3462,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$greeting\",\n            start: 3468,\n            end: 3477,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 3478,\n            end: 3479,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 3479,\n            end: 3480,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3480,\n            end: 3481,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Hello\\\"\",\n            start: 3482,\n            end: 3489,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3489,\n            end: 3490,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3496,\n            end: 3502,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$greeting, $name!\\\"\",\n            start: 3503,\n            end: 3522,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3522,\n            end: 3523,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 3525,\n            end: 3526,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 3530,\n            end: 3533,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 3534,\n            end: 3543,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3544,\n            end: 3545,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3551,\n            end: 3553,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3554,\n            end: 3556,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3557,\n            end: 3558,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 3559,\n            end: 3564,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3564,\n            end: 3565,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3571,\n            end: 3577,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3578,\n            end: 3579,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 3580,\n            end: 3582,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3583,\n            end: 3585,\n        },\n        TokenData {\n            kind: \"LessEqual\",\n            text: \"<=\",\n            start: 3586,\n            end: 3588,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3589,\n            end: 3590,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3590,\n            end: 3591,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3597,\n            end: 3603,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3604,\n            end: 3606,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 3607,\n            end: 3608,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 3609,\n            end: 3618,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3618,\n            end: 3619,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3619,\n            end: 3621,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 3622,\n            end: 3623,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3624,\n            end: 3625,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3625,\n            end: 3626,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3626,\n            end: 3627,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 3629,\n            end: 3630,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 3634,\n            end: 3637,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 3638,\n            end: 3647,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3648,\n            end: 3649,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3655,\n            end: 3657,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3658,\n            end: 3660,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3661,\n            end: 3662,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 3663,\n            end: 3668,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3668,\n            end: 3669,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3675,\n            end: 3681,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3682,\n            end: 3684,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 3685,\n            end: 3687,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3688,\n            end: 3690,\n        },\n        TokenData {\n            kind: \"LessEqual\",\n            text: \"<=\",\n            start: 3691,\n            end: 3693,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3694,\n            end: 3695,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3695,\n            end: 3696,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3702,\n            end: 3708,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 3709,\n            end: 3718,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3718,\n            end: 3719,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3719,\n            end: 3721,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 3722,\n            end: 3723,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 3724,\n            end: 3725,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3725,\n            end: 3726,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 3727,\n            end: 3728,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 3729,\n            end: 3738,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3738,\n            end: 3739,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$n\",\n            start: 3739,\n            end: 3741,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 3742,\n            end: 3743,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 3744,\n            end: 3745,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3745,\n            end: 3746,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3746,\n            end: 3747,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 3749,\n            end: 3750,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 3754,\n            end: 3757,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum_array\",\n            start: 3758,\n            end: 3767,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3768,\n            end: 3769,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3775,\n            end: 3777,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@arr\",\n            start: 3778,\n            end: 3782,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3783,\n            end: 3784,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 3785,\n            end: 3787,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3787,\n            end: 3788,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3794,\n            end: 3796,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$total\",\n            start: 3797,\n            end: 3803,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3804,\n            end: 3805,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 3806,\n            end: 3807,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3807,\n            end: 3808,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$total\",\n            start: 3814,\n            end: 3820,\n        },\n        TokenData {\n            kind: \"PlusAssign\",\n            text: \"+=\",\n            start: 3821,\n            end: 3823,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$_\",\n            start: 3824,\n            end: 3826,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 3827,\n            end: 3830,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@arr\",\n            start: 3831,\n            end: 3835,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3835,\n            end: 3836,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3842,\n            end: 3848,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$total\",\n            start: 3849,\n            end: 3855,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3855,\n            end: 3856,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 3858,\n            end: 3859,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 3863,\n            end: 3866,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"find_max\",\n            start: 3867,\n            end: 3875,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3876,\n            end: 3877,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3883,\n            end: 3885,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@arr\",\n            start: 3886,\n            end: 3890,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3891,\n            end: 3892,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 3893,\n            end: 3895,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3895,\n            end: 3896,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 3902,\n            end: 3908,\n        },\n        TokenData {\n            kind: \"Undef\",\n            text: \"undef\",\n            start: 3909,\n            end: 3914,\n        },\n        TokenData {\n            kind: \"Unless\",\n            text: \"unless\",\n            start: 3915,\n            end: 3921,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@arr\",\n            start: 3922,\n            end: 3926,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3926,\n            end: 3927,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3933,\n            end: 3935,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$max\",\n            start: 3936,\n            end: 3940,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3941,\n            end: 3942,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$arr\",\n            start: 3943,\n            end: 3947,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 3947,\n            end: 3948,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 3948,\n            end: 3949,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 3949,\n            end: 3950,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 3950,\n            end: 3951,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 3957,\n            end: 3960,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 3961,\n            end: 3963,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$num\",\n            start: 3964,\n            end: 3968,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 3969,\n            end: 3970,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@arr\",\n            start: 3970,\n            end: 3974,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 3974,\n            end: 3975,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 3976,\n            end: 3977,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$max\",\n            start: 3987,\n            end: 3991,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 3992,\n            end: 3993,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$num\",\n            start: 3994,\n            end: 3998,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 3999,\n            end: 4001,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$num\",\n            start: 4002,\n            end: 4006,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 4007,\n            end: 4008,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$max\",\n            start: 4009,\n            end: 4013,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4013,\n            end: 4014,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4020,\n            end: 4021,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 4027,\n            end: 4033,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$max\",\n            start: 4034,\n            end: 4038,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4038,\n            end: 4039,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4041,\n            end: 4042,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4065,\n            end: 4068,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"read_file\",\n            start: 4069,\n            end: 4078,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4079,\n            end: 4080,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4086,\n            end: 4088,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$filename\",\n            start: 4089,\n            end: 4098,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4099,\n            end: 4100,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 4101,\n            end: 4106,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4106,\n            end: 4107,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"open\",\n            start: 4113,\n            end: 4117,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4118,\n            end: 4120,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4121,\n            end: 4124,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4124,\n            end: 4125,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'<'\",\n            start: 4126,\n            end: 4129,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4129,\n            end: 4130,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$filename\",\n            start: 4131,\n            end: 4140,\n        },\n        TokenData {\n            kind: \"Or\",\n            text: \"or\",\n            start: 4141,\n            end: 4143,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 4144,\n            end: 4147,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Cannot open file '$filename': $!\\\"\",\n            start: 4148,\n            end: 4182,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4182,\n            end: 4183,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4189,\n            end: 4191,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@lines\",\n            start: 4192,\n            end: 4198,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4199,\n            end: 4200,\n        },\n        TokenData {\n            kind: \"LessThan\",\n            text: \"<\",\n            start: 4201,\n            end: 4202,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4202,\n            end: 4205,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 4205,\n            end: 4206,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4206,\n            end: 4207,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"close\",\n            start: 4213,\n            end: 4218,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4219,\n            end: 4222,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4222,\n            end: 4223,\n        },\n        TokenData {\n            kind: \"Chomp\",\n            text: \"chomp\",\n            start: 4229,\n            end: 4234,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@lines\",\n            start: 4235,\n            end: 4241,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4241,\n            end: 4242,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 4248,\n            end: 4254,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@lines\",\n            start: 4255,\n            end: 4261,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4261,\n            end: 4262,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4264,\n            end: 4265,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4269,\n            end: 4272,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"write_file\",\n            start: 4273,\n            end: 4283,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4284,\n            end: 4285,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4291,\n            end: 4293,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4294,\n            end: 4295,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$filename\",\n            start: 4295,\n            end: 4304,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4304,\n            end: 4305,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@lines\",\n            start: 4306,\n            end: 4312,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4312,\n            end: 4313,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4314,\n            end: 4315,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 4316,\n            end: 4318,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4318,\n            end: 4319,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"open\",\n            start: 4325,\n            end: 4329,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4330,\n            end: 4332,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4333,\n            end: 4336,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4336,\n            end: 4337,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'>'\",\n            start: 4338,\n            end: 4341,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4341,\n            end: 4342,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$filename\",\n            start: 4343,\n            end: 4352,\n        },\n        TokenData {\n            kind: \"Or\",\n            text: \"or\",\n            start: 4353,\n            end: 4355,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 4356,\n            end: 4359,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Cannot open file '$filename': $!\\\"\",\n            start: 4360,\n            end: 4394,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4394,\n            end: 4395,\n        },\n        TokenData {\n            kind: \"Print\",\n            text: \"print\",\n            start: 4401,\n            end: 4406,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4407,\n            end: 4410,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$_\\\\n\\\"\",\n            start: 4411,\n            end: 4417,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 4418,\n            end: 4421,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@lines\",\n            start: 4422,\n            end: 4428,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4428,\n            end: 4429,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"close\",\n            start: 4435,\n            end: 4440,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fh\",\n            start: 4441,\n            end: 4444,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4444,\n            end: 4445,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4447,\n            end: 4448,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4475,\n            end: 4478,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"validate_email\",\n            start: 4479,\n            end: 4493,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4494,\n            end: 4495,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4501,\n            end: 4503,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 4504,\n            end: 4510,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4511,\n            end: 4512,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 4513,\n            end: 4518,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4518,\n            end: 4519,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 4525,\n            end: 4531,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 4532,\n            end: 4538,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"=~\",\n            start: 4539,\n            end: 4541,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4542,\n            end: 4543,\n        },\n        TokenData {\n            kind: \"BitwiseXor\",\n            text: \"^\",\n            start: 4543,\n            end: 4544,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4544,\n            end: 4545,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 4545,\n            end: 4546,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4546,\n            end: 4547,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 4547,\n            end: 4549,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4549,\n            end: 4550,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z0\",\n            start: 4550,\n            end: 4552,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4552,\n            end: 4553,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"9.\",\n            start: 4553,\n            end: 4555,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"_\",\n            start: 4555,\n            end: 4556,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%\",\n            start: 4556,\n            end: 4557,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4557,\n            end: 4558,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4558,\n            end: 4559,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4559,\n            end: 4560,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4560,\n            end: 4561,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 4561,\n            end: 4562,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4562,\n            end: 4563,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 4563,\n            end: 4564,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4564,\n            end: 4565,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 4565,\n            end: 4567,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4567,\n            end: 4568,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z0\",\n            start: 4568,\n            end: 4570,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4570,\n            end: 4571,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"9.\",\n            start: 4571,\n            end: 4573,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4573,\n            end: 4574,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4574,\n            end: 4575,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4575,\n            end: 4576,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 4576,\n            end: 4577,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 4577,\n            end: 4578,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 4578,\n            end: 4579,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"a\",\n            start: 4579,\n            end: 4580,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4580,\n            end: 4581,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"zA\",\n            start: 4581,\n            end: 4583,\n        },\n        TokenData {\n            kind: \"Minus\",\n            text: \"-\",\n            start: 4583,\n            end: 4584,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Z\",\n            start: 4584,\n            end: 4585,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 4585,\n            end: 4586,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4586,\n            end: 4587,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 4587,\n            end: 4588,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4588,\n            end: 4589,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4589,\n            end: 4590,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 4590,\n            end: 4591,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4591,\n            end: 4592,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4592,\n            end: 4593,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4595,\n            end: 4596,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4600,\n            end: 4603,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"extract_numbers\",\n            start: 4604,\n            end: 4619,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4620,\n            end: 4621,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4627,\n            end: 4629,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 4630,\n            end: 4635,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4636,\n            end: 4637,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 4638,\n            end: 4643,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4643,\n            end: 4644,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4650,\n            end: 4652,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 4653,\n            end: 4661,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4662,\n            end: 4663,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 4664,\n            end: 4669,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"=~\",\n            start: 4670,\n            end: 4672,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4673,\n            end: 4674,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4674,\n            end: 4675,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 4675,\n            end: 4676,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"d\",\n            start: 4676,\n            end: 4677,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 4677,\n            end: 4678,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4678,\n            end: 4679,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4679,\n            end: 4680,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 4680,\n            end: 4681,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4681,\n            end: 4682,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 4688,\n            end: 4694,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 4695,\n            end: 4703,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4703,\n            end: 4704,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4706,\n            end: 4707,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4711,\n            end: 4714,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"replace_words\",\n            start: 4715,\n            end: 4728,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4729,\n            end: 4730,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4736,\n            end: 4738,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4739,\n            end: 4740,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 4740,\n            end: 4745,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4745,\n            end: 4746,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$old_word\",\n            start: 4747,\n            end: 4756,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 4756,\n            end: 4757,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$new_word\",\n            start: 4758,\n            end: 4767,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 4767,\n            end: 4768,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 4769,\n            end: 4770,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 4771,\n            end: 4773,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4773,\n            end: 4774,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 4780,\n            end: 4785,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"=~\",\n            start: 4786,\n            end: 4788,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"s\",\n            start: 4789,\n            end: 4790,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4790,\n            end: 4791,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 4791,\n            end: 4792,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4792,\n            end: 4793,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$old_word\",\n            start: 4793,\n            end: 4802,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 4802,\n            end: 4803,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"b\",\n            start: 4803,\n            end: 4804,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4804,\n            end: 4805,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$new_word\",\n            start: 4805,\n            end: 4814,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 4814,\n            end: 4815,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 4815,\n            end: 4816,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4816,\n            end: 4817,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 4823,\n            end: 4829,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 4830,\n            end: 4835,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4835,\n            end: 4836,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 4838,\n            end: 4839,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 4865,\n            end: 4868,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_loops\",\n            start: 4869,\n            end: 4886,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 4887,\n            end: 4888,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 4894,\n            end: 4897,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== Loop Demonstrations ===\\\"\",\n            start: 4898,\n            end: 4927,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4927,\n            end: 4928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 4956,\n            end: 4959,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"For loop (1 to 5):\\\"\",\n            start: 4960,\n            end: 4980,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 4980,\n            end: 4981,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 4987,\n            end: 4990,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 4991,\n            end: 4993,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$i\",\n            start: 4994,\n            end: 4996,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 4997,\n            end: 4998,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1.\",\n            start: 4998,\n            end: 5000,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 5000,\n            end: 5001,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 5001,\n            end: 5002,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5002,\n            end: 5003,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5004,\n            end: 5005,\n        },\n        TokenData {\n            kind: \"Print\",\n            text: \"print\",\n            start: 5015,\n            end: 5020,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$i \\\"\",\n            start: 5021,\n            end: 5026,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5026,\n            end: 5027,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5033,\n            end: 5034,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5040,\n            end: 5043,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"\\\"\",\n            start: 5044,\n            end: 5046,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5046,\n            end: 5047,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5077,\n            end: 5080,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"While loop (countdown from 5):\\\"\",\n            start: 5081,\n            end: 5113,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5113,\n            end: 5114,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 5120,\n            end: 5122,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$count\",\n            start: 5123,\n            end: 5129,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 5130,\n            end: 5131,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 5132,\n            end: 5133,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5133,\n            end: 5134,\n        },\n        TokenData {\n            kind: \"While\",\n            text: \"while\",\n            start: 5140,\n            end: 5145,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5146,\n            end: 5147,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$count\",\n            start: 5147,\n            end: 5153,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 5154,\n            end: 5155,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 5156,\n            end: 5157,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5157,\n            end: 5158,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5159,\n            end: 5160,\n        },\n        TokenData {\n            kind: \"Print\",\n            text: \"print\",\n            start: 5170,\n            end: 5175,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$count \\\"\",\n            start: 5176,\n            end: 5185,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5185,\n            end: 5186,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$count\",\n            start: 5196,\n            end: 5202,\n        },\n        TokenData {\n            kind: \"Decrement\",\n            text: \"--\",\n            start: 5202,\n            end: 5204,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5204,\n            end: 5205,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5211,\n            end: 5212,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5218,\n            end: 5221,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"\\\"\",\n            start: 5222,\n            end: 5224,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5224,\n            end: 5225,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5257,\n            end: 5260,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Foreach loop (fruits):\\\"\",\n            start: 5261,\n            end: 5285,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5285,\n            end: 5286,\n        },\n        TokenData {\n            kind: \"Foreach\",\n            text: \"foreach\",\n            start: 5292,\n            end: 5299,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 5300,\n            end: 5302,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$fruit\",\n            start: 5303,\n            end: 5309,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5310,\n            end: 5311,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@fruits\",\n            start: 5311,\n            end: 5318,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5318,\n            end: 5319,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5320,\n            end: 5321,\n        },\n        TokenData {\n            kind: \"Print\",\n            text: \"print\",\n            start: 5331,\n            end: 5336,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"$fruit \\\"\",\n            start: 5337,\n            end: 5346,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5346,\n            end: 5347,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5353,\n            end: 5354,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5360,\n            end: 5363,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"\\\"\",\n            start: 5364,\n            end: 5366,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5366,\n            end: 5367,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5399,\n            end: 5402,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Map function (squares):\\\"\",\n            start: 5403,\n            end: 5428,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5428,\n            end: 5429,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 5435,\n            end: 5437,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@squares\",\n            start: 5438,\n            end: 5446,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 5447,\n            end: 5448,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"map\",\n            start: 5449,\n            end: 5452,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5453,\n            end: 5454,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$_\",\n            start: 5455,\n            end: 5457,\n        },\n        TokenData {\n            kind: \"Star\",\n            text: \"*\",\n            start: 5458,\n            end: 5459,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$_\",\n            start: 5460,\n            end: 5462,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5463,\n            end: 5464,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5465,\n            end: 5466,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1.\",\n            start: 5466,\n            end: 5468,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 5468,\n            end: 5469,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 5469,\n            end: 5470,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5470,\n            end: 5471,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5471,\n            end: 5472,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5478,\n            end: 5481,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 5482,\n            end: 5486,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5486,\n            end: 5487,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 5487,\n            end: 5491,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 5491,\n            end: 5492,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@squares\",\n            start: 5493,\n            end: 5501,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5501,\n            end: 5502,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5502,\n            end: 5503,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5536,\n            end: 5539,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grep function (even numbers):\\\"\",\n            start: 5540,\n            end: 5571,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5571,\n            end: 5572,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 5578,\n            end: 5580,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@evens\",\n            start: 5581,\n            end: 5587,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 5588,\n            end: 5589,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"grep\",\n            start: 5590,\n            end: 5594,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5595,\n            end: 5596,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$_\",\n            start: 5597,\n            end: 5599,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%\",\n            start: 5600,\n            end: 5601,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 5602,\n            end: 5603,\n        },\n        TokenData {\n            kind: \"Equal\",\n            text: \"==\",\n            start: 5604,\n            end: 5606,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 5607,\n            end: 5608,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5609,\n            end: 5610,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5611,\n            end: 5612,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1.\",\n            start: 5612,\n            end: 5614,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 5614,\n            end: 5615,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 5615,\n            end: 5617,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5617,\n            end: 5618,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5618,\n            end: 5619,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5625,\n            end: 5628,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 5629,\n            end: 5633,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5633,\n            end: 5634,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 5634,\n            end: 5638,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 5638,\n            end: 5639,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@evens\",\n            start: 5640,\n            end: 5646,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5646,\n            end: 5647,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5647,\n            end: 5648,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5650,\n            end: 5651,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 5655,\n            end: 5658,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_conditionals\",\n            start: 5659,\n            end: 5683,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5684,\n            end: 5685,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 5691,\n            end: 5693,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 5694,\n            end: 5700,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 5701,\n            end: 5702,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 5703,\n            end: 5708,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 5709,\n            end: 5710,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 5710,\n            end: 5711,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"85\",\n            start: 5712,\n            end: 5714,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5714,\n            end: 5715,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5727,\n            end: 5730,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== Conditional Demonstrations ===\\\"\",\n            start: 5731,\n            end: 5767,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5767,\n            end: 5768,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5774,\n            end: 5777,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Score: $score\\\"\",\n            start: 5778,\n            end: 5793,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5793,\n            end: 5794,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 5827,\n            end: 5829,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5830,\n            end: 5831,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 5831,\n            end: 5837,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 5838,\n            end: 5840,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"90\",\n            start: 5841,\n            end: 5843,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5843,\n            end: 5844,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5845,\n            end: 5846,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5856,\n            end: 5859,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grade: A\\\"\",\n            start: 5860,\n            end: 5870,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5870,\n            end: 5871,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5877,\n            end: 5878,\n        },\n        TokenData {\n            kind: \"Elsif\",\n            text: \"elsif\",\n            start: 5879,\n            end: 5884,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5885,\n            end: 5886,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 5886,\n            end: 5892,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 5893,\n            end: 5895,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"80\",\n            start: 5896,\n            end: 5898,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5898,\n            end: 5899,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5900,\n            end: 5901,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5911,\n            end: 5914,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grade: B\\\"\",\n            start: 5915,\n            end: 5925,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5925,\n            end: 5926,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5932,\n            end: 5933,\n        },\n        TokenData {\n            kind: \"Elsif\",\n            text: \"elsif\",\n            start: 5934,\n            end: 5939,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5940,\n            end: 5941,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 5941,\n            end: 5947,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 5948,\n            end: 5950,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"70\",\n            start: 5951,\n            end: 5953,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 5953,\n            end: 5954,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 5955,\n            end: 5956,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 5966,\n            end: 5969,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grade: C\\\"\",\n            start: 5970,\n            end: 5980,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 5980,\n            end: 5981,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 5987,\n            end: 5988,\n        },\n        TokenData {\n            kind: \"Elsif\",\n            text: \"elsif\",\n            start: 5989,\n            end: 5994,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 5995,\n            end: 5996,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 5996,\n            end: 6002,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 6003,\n            end: 6005,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"60\",\n            start: 6006,\n            end: 6008,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6008,\n            end: 6009,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6010,\n            end: 6011,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6021,\n            end: 6024,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grade: D\\\"\",\n            start: 6025,\n            end: 6035,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6035,\n            end: 6036,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6042,\n            end: 6043,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 6044,\n            end: 6048,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6049,\n            end: 6050,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6060,\n            end: 6063,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Grade: F\\\"\",\n            start: 6064,\n            end: 6074,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6074,\n            end: 6075,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6081,\n            end: 6082,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 6118,\n            end: 6120,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$pass_fail\",\n            start: 6121,\n            end: 6131,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 6132,\n            end: 6133,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 6134,\n            end: 6140,\n        },\n        TokenData {\n            kind: \"GreaterEqual\",\n            text: \">=\",\n            start: 6141,\n            end: 6143,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"60\",\n            start: 6144,\n            end: 6146,\n        },\n        TokenData {\n            kind: \"Question\",\n            text: \"?\",\n            start: 6147,\n            end: 6148,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Pass\\\"\",\n            start: 6149,\n            end: 6155,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 6156,\n            end: 6157,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Fail\\\"\",\n            start: 6158,\n            end: 6164,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6164,\n            end: 6165,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6171,\n            end: 6174,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Result: $pass_fail\\\"\",\n            start: 6175,\n            end: 6195,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6195,\n            end: 6196,\n        },\n        TokenData {\n            kind: \"Unless\",\n            text: \"unless\",\n            start: 6222,\n            end: 6228,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6229,\n            end: 6230,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$score\",\n            start: 6230,\n            end: 6236,\n        },\n        TokenData {\n            kind: \"LessThan\",\n            text: \"<\",\n            start: 6237,\n            end: 6238,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"60\",\n            start: 6239,\n            end: 6241,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6241,\n            end: 6242,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6243,\n            end: 6244,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6254,\n            end: 6257,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Student passed the exam\\\"\",\n            start: 6258,\n            end: 6283,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6283,\n            end: 6284,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6290,\n            end: 6291,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6293,\n            end: 6294,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 6316,\n            end: 6319,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"safe_divide\",\n            start: 6320,\n            end: 6331,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6332,\n            end: 6333,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 6339,\n            end: 6341,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6342,\n            end: 6343,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$a\",\n            start: 6343,\n            end: 6345,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6345,\n            end: 6346,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$b\",\n            start: 6347,\n            end: 6349,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6349,\n            end: 6350,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 6351,\n            end: 6352,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@_\",\n            start: 6353,\n            end: 6355,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6355,\n            end: 6356,\n        },\n        TokenData {\n            kind: \"Eval\",\n            text: \"eval\",\n            start: 6368,\n            end: 6372,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6373,\n            end: 6374,\n        },\n        TokenData {\n            kind: \"Die\",\n            text: \"die\",\n            start: 6384,\n            end: 6387,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Division by zero\\\"\",\n            start: 6388,\n            end: 6406,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6407,\n            end: 6409,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$b\",\n            start: 6410,\n            end: 6412,\n        },\n        TokenData {\n            kind: \"Equal\",\n            text: \"==\",\n            start: 6413,\n            end: 6415,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 6416,\n            end: 6417,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6417,\n            end: 6418,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 6428,\n            end: 6434,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$a\",\n            start: 6435,\n            end: 6437,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 6438,\n            end: 6439,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$b\",\n            start: 6440,\n            end: 6442,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6442,\n            end: 6443,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6449,\n            end: 6450,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6450,\n            end: 6451,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 6463,\n            end: 6465,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6466,\n            end: 6467,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 6467,\n            end: 6468,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 6468,\n            end: 6469,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6469,\n            end: 6470,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6471,\n            end: 6472,\n        },\n        TokenData {\n            kind: \"Warn\",\n            text: \"warn\",\n            start: 6482,\n            end: 6486,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Error in division: $@\\\"\",\n            start: 6487,\n            end: 6510,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6510,\n            end: 6511,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 6521,\n            end: 6527,\n        },\n        TokenData {\n            kind: \"Undef\",\n            text: \"undef\",\n            start: 6528,\n            end: 6533,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6533,\n            end: 6534,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6540,\n            end: 6541,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 6543,\n            end: 6544,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 6569,\n            end: 6572,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_strings\",\n            start: 6573,\n            end: 6592,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 6593,\n            end: 6594,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6600,\n            end: 6603,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== String Demonstrations ===\\\"\",\n            start: 6604,\n            end: 6635,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6635,\n            end: 6636,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 6648,\n            end: 6650,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6651,\n            end: 6655,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 6656,\n            end: 6657,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"  Hello, World!  \\\"\",\n            start: 6658,\n            end: 6677,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6677,\n            end: 6678,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6684,\n            end: 6687,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Original: '$str'\\\"\",\n            start: 6688,\n            end: 6706,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6706,\n            end: 6707,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6741,\n            end: 6744,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Length: \\\"\",\n            start: 6745,\n            end: 6755,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6756,\n            end: 6757,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"length\",\n            start: 6758,\n            end: 6764,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6764,\n            end: 6765,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6765,\n            end: 6769,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6769,\n            end: 6770,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6770,\n            end: 6771,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6777,\n            end: 6780,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Uppercase: \\\"\",\n            start: 6781,\n            end: 6794,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6795,\n            end: 6796,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"uc\",\n            start: 6797,\n            end: 6799,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6799,\n            end: 6800,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6800,\n            end: 6804,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6804,\n            end: 6805,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6805,\n            end: 6806,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6812,\n            end: 6815,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Lowercase: \\\"\",\n            start: 6816,\n            end: 6829,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6830,\n            end: 6831,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"lc\",\n            start: 6832,\n            end: 6834,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6834,\n            end: 6835,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6835,\n            end: 6839,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6839,\n            end: 6840,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6840,\n            end: 6841,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6847,\n            end: 6850,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Trimmed: '\\\"\",\n            start: 6851,\n            end: 6863,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6864,\n            end: 6865,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"trim\",\n            start: 6866,\n            end: 6870,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6870,\n            end: 6871,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6871,\n            end: 6875,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6875,\n            end: 6876,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6877,\n            end: 6878,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"'\\\"\",\n            start: 6879,\n            end: 6882,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6882,\n            end: 6883,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6889,\n            end: 6892,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Substring: \\\"\",\n            start: 6893,\n            end: 6906,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6907,\n            end: 6908,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"substr\",\n            start: 6909,\n            end: 6915,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6915,\n            end: 6916,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6916,\n            end: 6920,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6920,\n            end: 6921,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 6922,\n            end: 6923,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6923,\n            end: 6924,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 6925,\n            end: 6926,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6926,\n            end: 6927,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6927,\n            end: 6928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 6934,\n            end: 6937,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Index of 'World': \\\"\",\n            start: 6938,\n            end: 6958,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 6959,\n            end: 6960,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"index\",\n            start: 6961,\n            end: 6966,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 6966,\n            end: 6967,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 6967,\n            end: 6971,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 6971,\n            end: 6972,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'World'\",\n            start: 6973,\n            end: 6980,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 6980,\n            end: 6981,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 6981,\n            end: 6982,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7022,\n            end: 7024,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$name\",\n            start: 7025,\n            end: 7030,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7031,\n            end: 7032,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Alice\\\"\",\n            start: 7033,\n            end: 7040,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7040,\n            end: 7041,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7047,\n            end: 7049,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$age\",\n            start: 7050,\n            end: 7054,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7055,\n            end: 7056,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"30\",\n            start: 7057,\n            end: 7059,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7059,\n            end: 7060,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7066,\n            end: 7069,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Interpolation: $name is $age years old\\\"\",\n            start: 7070,\n            end: 7110,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7110,\n            end: 7111,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7145,\n            end: 7147,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$poem\",\n            start: 7148,\n            end: 7153,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7154,\n            end: 7155,\n        },\n        TokenData {\n            kind: \"LeftShift\",\n            text: \"<<\",\n            start: 7156,\n            end: 7158,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'END_POEM'\",\n            start: 7158,\n            end: 7168,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7168,\n            end: 7169,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Roses\",\n            start: 7171,\n            end: 7176,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"are\",\n            start: 7177,\n            end: 7180,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"red\",\n            start: 7181,\n            end: 7184,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7184,\n            end: 7185,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Violets\",\n            start: 7187,\n            end: 7194,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"are\",\n            start: 7195,\n            end: 7198,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"blue\",\n            start: 7199,\n            end: 7203,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7203,\n            end: 7204,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Perl\",\n            start: 7206,\n            end: 7210,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is\",\n            start: 7211,\n            end: 7213,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"powerful\",\n            start: 7214,\n            end: 7222,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7222,\n            end: 7223,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"And\",\n            start: 7225,\n            end: 7228,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"so\",\n            start: 7229,\n            end: 7231,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"are\",\n            start: 7232,\n            end: 7235,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"you\",\n            start: 7236,\n            end: 7239,\n        },\n        TokenData {\n            kind: \"LogicalNot\",\n            text: \"!\",\n            start: 7239,\n            end: 7240,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"END_POEM\",\n            start: 7242,\n            end: 7250,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7262,\n            end: 7265,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Poem:\\\\n$poem\\\"\",\n            start: 7266,\n            end: 7280,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7280,\n            end: 7281,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 7283,\n            end: 7284,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 7288,\n            end: 7291,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"trim\",\n            start: 7292,\n            end: 7296,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7297,\n            end: 7298,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7304,\n            end: 7306,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 7307,\n            end: 7311,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7312,\n            end: 7313,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 7314,\n            end: 7319,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7319,\n            end: 7320,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 7326,\n            end: 7330,\n        },\n        TokenData {\n            kind: \"Match\",\n            text: \"=~\",\n            start: 7331,\n            end: 7333,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"s\",\n            start: 7334,\n            end: 7335,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 7335,\n            end: 7336,\n        },\n        TokenData {\n            kind: \"BitwiseXor\",\n            text: \"^\",\n            start: 7336,\n            end: 7337,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 7337,\n            end: 7338,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"s\",\n            start: 7338,\n            end: 7339,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 7339,\n            end: 7340,\n        },\n        TokenData {\n            kind: \"BitwiseOr\",\n            text: \"|\",\n            start: 7340,\n            end: 7341,\n        },\n        TokenData {\n            kind: \"Error\",\n            text: \"\\\\\",\n            start: 7341,\n            end: 7342,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"s\",\n            start: 7342,\n            end: 7343,\n        },\n        TokenData {\n            kind: \"Plus\",\n            text: \"+\",\n            start: 7343,\n            end: 7344,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$\",\n            start: 7344,\n            end: 7345,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 7345,\n            end: 7346,\n        },\n        TokenData {\n            kind: \"Slash\",\n            text: \"/\",\n            start: 7346,\n            end: 7347,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"g\",\n            start: 7347,\n            end: 7348,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7348,\n            end: 7349,\n        },\n        TokenData {\n            kind: \"Return\",\n            text: \"return\",\n            start: 7355,\n            end: 7361,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$str\",\n            start: 7362,\n            end: 7366,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7366,\n            end: 7367,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 7369,\n            end: 7370,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 7393,\n            end: 7396,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_hashes\",\n            start: 7397,\n            end: 7415,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7416,\n            end: 7417,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7423,\n            end: 7426,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== Hash Demonstrations ===\\\"\",\n            start: 7427,\n            end: 7456,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7456,\n            end: 7457,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7469,\n            end: 7471,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%student\",\n            start: 7472,\n            end: 7480,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7481,\n            end: 7482,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7483,\n            end: 7484,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 7494,\n            end: 7498,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7499,\n            end: 7500,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 7500,\n            end: 7501,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Bob\\\"\",\n            start: 7502,\n            end: 7507,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7507,\n            end: 7508,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 7518,\n            end: 7521,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7522,\n            end: 7523,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 7523,\n            end: 7524,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"22\",\n            start: 7525,\n            end: 7527,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7527,\n            end: 7528,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"major\",\n            start: 7538,\n            end: 7543,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7544,\n            end: 7545,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 7545,\n            end: 7546,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Computer Science\\\"\",\n            start: 7547,\n            end: 7565,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7565,\n            end: 7566,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"gpa\",\n            start: 7576,\n            end: 7579,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7580,\n            end: 7581,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 7581,\n            end: 7582,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"3.8\",\n            start: 7583,\n            end: 7586,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7592,\n            end: 7593,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7593,\n            end: 7594,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7637,\n            end: 7640,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Student name: $student{name}\\\"\",\n            start: 7641,\n            end: 7671,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7671,\n            end: 7672,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7678,\n            end: 7681,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Student GPA: $student{gpa}\\\"\",\n            start: 7682,\n            end: 7710,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7710,\n            end: 7711,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$student\",\n            start: 7750,\n            end: 7758,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7758,\n            end: 7759,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"graduation_year\",\n            start: 7759,\n            end: 7774,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 7774,\n            end: 7775,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7776,\n            end: 7777,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2024\",\n            start: 7778,\n            end: 7782,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7782,\n            end: 7783,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$student\",\n            start: 7789,\n            end: 7797,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7797,\n            end: 7798,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"honors\",\n            start: 7798,\n            end: 7804,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 7804,\n            end: 7805,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7806,\n            end: 7807,\n        },\n        TokenData {\n            kind: \"LeftBracket\",\n            text: \"[\",\n            start: 7808,\n            end: 7809,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Dean's List\\\"\",\n            start: 7809,\n            end: 7822,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 7822,\n            end: 7823,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Magna Cum Laude\\\"\",\n            start: 7824,\n            end: 7841,\n        },\n        TokenData {\n            kind: \"RightBracket\",\n            text: \"]\",\n            start: 7841,\n            end: 7842,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7842,\n            end: 7843,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 7882,\n            end: 7885,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Student information:\\\"\",\n            start: 7886,\n            end: 7908,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7908,\n            end: 7909,\n        },\n        TokenData {\n            kind: \"For\",\n            text: \"for\",\n            start: 7915,\n            end: 7918,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7919,\n            end: 7921,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$key\",\n            start: 7922,\n            end: 7926,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7927,\n            end: 7928,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sort\",\n            start: 7928,\n            end: 7932,\n        },\n        TokenData {\n            kind: \"Keys\",\n            text: \"keys\",\n            start: 7933,\n            end: 7937,\n        },\n        TokenData {\n            kind: \"Percent_\",\n            text: \"%student\",\n            start: 7938,\n            end: 7946,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 7946,\n            end: 7947,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7948,\n            end: 7949,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 7959,\n            end: 7961,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$value\",\n            start: 7962,\n            end: 7968,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 7969,\n            end: 7970,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$student\",\n            start: 7971,\n            end: 7979,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 7979,\n            end: 7980,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$key\",\n            start: 7980,\n            end: 7984,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 7984,\n            end: 7985,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 7985,\n            end: 7986,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 7996,\n            end: 7998,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 7999,\n            end: 8000,\n        },\n        TokenData {\n            kind: \"Ref\",\n            text: \"ref\",\n            start: 8000,\n            end: 8003,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8003,\n            end: 8004,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$value\",\n            start: 8004,\n            end: 8010,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8010,\n            end: 8011,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eq\",\n            start: 8012,\n            end: 8014,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"'ARRAY'\",\n            start: 8015,\n            end: 8022,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8022,\n            end: 8023,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 8024,\n            end: 8025,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8039,\n            end: 8042,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"  $key: \\\"\",\n            start: 8043,\n            end: 8053,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8054,\n            end: 8055,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8056,\n            end: 8060,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8060,\n            end: 8061,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8061,\n            end: 8065,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8065,\n            end: 8066,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@\",\n            start: 8067,\n            end: 8068,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$value\",\n            start: 8068,\n            end: 8074,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8074,\n            end: 8075,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8075,\n            end: 8076,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8086,\n            end: 8087,\n        },\n        TokenData {\n            kind: \"Else\",\n            text: \"else\",\n            start: 8088,\n            end: 8092,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 8093,\n            end: 8094,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8108,\n            end: 8111,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"  $key: $value\\\"\",\n            start: 8112,\n            end: 8128,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8128,\n            end: 8129,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8139,\n            end: 8140,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8146,\n            end: 8147,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8178,\n            end: 8180,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@info\",\n            start: 8181,\n            end: 8186,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8187,\n            end: 8188,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@student\",\n            start: 8189,\n            end: 8197,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 8197,\n            end: 8198,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"qw\",\n            start: 8198,\n            end: 8200,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8200,\n            end: 8201,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 8201,\n            end: 8205,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 8206,\n            end: 8209,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"major\",\n            start: 8210,\n            end: 8215,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8215,\n            end: 8216,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8216,\n            end: 8217,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8217,\n            end: 8218,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8224,\n            end: 8227,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Basic info: \\\"\",\n            start: 8228,\n            end: 8242,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8243,\n            end: 8244,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8245,\n            end: 8249,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8249,\n            end: 8250,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8250,\n            end: 8254,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8254,\n            end: 8255,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@info\",\n            start: 8256,\n            end: 8261,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8261,\n            end: 8262,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8262,\n            end: 8263,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8265,\n            end: 8266,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 8290,\n            end: 8293,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_arrays\",\n            start: 8294,\n            end: 8312,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 8313,\n            end: 8314,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8320,\n            end: 8323,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== Array Demonstrations ===\\\"\",\n            start: 8324,\n            end: 8354,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8354,\n            end: 8355,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8367,\n            end: 8369,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8370,\n            end: 8378,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8379,\n            end: 8380,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8381,\n            end: 8382,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 8382,\n            end: 8384,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8384,\n            end: 8385,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 8386,\n            end: 8387,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8387,\n            end: 8388,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"8\",\n            start: 8389,\n            end: 8390,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8390,\n            end: 8391,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"3\",\n            start: 8392,\n            end: 8393,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8393,\n            end: 8394,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"12\",\n            start: 8395,\n            end: 8397,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8397,\n            end: 8398,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"7\",\n            start: 8399,\n            end: 8400,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8400,\n            end: 8401,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8401,\n            end: 8402,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8408,\n            end: 8411,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Original array: \\\"\",\n            start: 8412,\n            end: 8430,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8431,\n            end: 8432,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8433,\n            end: 8437,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8437,\n            end: 8438,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8438,\n            end: 8442,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8442,\n            end: 8443,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8444,\n            end: 8452,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8452,\n            end: 8453,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8453,\n            end: 8454,\n        },\n        TokenData {\n            kind: \"Push\",\n            text: \"push\",\n            start: 8489,\n            end: 8493,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8494,\n            end: 8502,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8502,\n            end: 8503,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"15\",\n            start: 8504,\n            end: 8506,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8506,\n            end: 8507,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8513,\n            end: 8516,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After push: \\\"\",\n            start: 8517,\n            end: 8531,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8532,\n            end: 8533,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8534,\n            end: 8538,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8538,\n            end: 8539,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8539,\n            end: 8543,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8543,\n            end: 8544,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8545,\n            end: 8553,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8553,\n            end: 8554,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8554,\n            end: 8555,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8567,\n            end: 8569,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$last\",\n            start: 8570,\n            end: 8575,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8576,\n            end: 8577,\n        },\n        TokenData {\n            kind: \"Pop\",\n            text: \"pop\",\n            start: 8578,\n            end: 8581,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8582,\n            end: 8590,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8590,\n            end: 8591,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8597,\n            end: 8600,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Popped: $last, Array: \\\"\",\n            start: 8601,\n            end: 8625,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8626,\n            end: 8627,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8628,\n            end: 8632,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8632,\n            end: 8633,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8633,\n            end: 8637,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8637,\n            end: 8638,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8639,\n            end: 8647,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8647,\n            end: 8648,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8648,\n            end: 8649,\n        },\n        TokenData {\n            kind: \"Unshift\",\n            text: \"unshift\",\n            start: 8661,\n            end: 8668,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8669,\n            end: 8677,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8677,\n            end: 8678,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 8679,\n            end: 8680,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8680,\n            end: 8681,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8687,\n            end: 8690,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"After unshift: \\\"\",\n            start: 8691,\n            end: 8708,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8709,\n            end: 8710,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8711,\n            end: 8715,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8715,\n            end: 8716,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8716,\n            end: 8720,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8720,\n            end: 8721,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8722,\n            end: 8730,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8730,\n            end: 8731,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8731,\n            end: 8732,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8744,\n            end: 8746,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$first\",\n            start: 8747,\n            end: 8753,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8754,\n            end: 8755,\n        },\n        TokenData {\n            kind: \"Shift\",\n            text: \"shift\",\n            start: 8756,\n            end: 8761,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8762,\n            end: 8770,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8770,\n            end: 8771,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8777,\n            end: 8780,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Shifted: $first, Array: \\\"\",\n            start: 8781,\n            end: 8807,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8808,\n            end: 8809,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8810,\n            end: 8814,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8814,\n            end: 8815,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8815,\n            end: 8819,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8819,\n            end: 8820,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8821,\n            end: 8829,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8829,\n            end: 8830,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8830,\n            end: 8831,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8858,\n            end: 8860,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@sorted\",\n            start: 8861,\n            end: 8868,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8869,\n            end: 8870,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sort\",\n            start: 8871,\n            end: 8875,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 8876,\n            end: 8877,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$a\",\n            start: 8878,\n            end: 8880,\n        },\n        TokenData {\n            kind: \"Spaceship\",\n            text: \"<=>\",\n            start: 8881,\n            end: 8884,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$b\",\n            start: 8885,\n            end: 8887,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 8888,\n            end: 8889,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8890,\n            end: 8898,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8898,\n            end: 8899,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8905,\n            end: 8908,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Sorted: \\\"\",\n            start: 8909,\n            end: 8919,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 8920,\n            end: 8921,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 8922,\n            end: 8926,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 8926,\n            end: 8927,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 8927,\n            end: 8931,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 8931,\n            end: 8932,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@sorted\",\n            start: 8933,\n            end: 8940,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 8940,\n            end: 8941,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8941,\n            end: 8942,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 8954,\n            end: 8956,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@reversed\",\n            start: 8957,\n            end: 8966,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 8967,\n            end: 8968,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"reverse\",\n            start: 8969,\n            end: 8976,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 8977,\n            end: 8985,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 8985,\n            end: 8986,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 8992,\n            end: 8995,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Reversed: \\\"\",\n            start: 8996,\n            end: 9008,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9009,\n            end: 9010,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 9011,\n            end: 9015,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9015,\n            end: 9016,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 9016,\n            end: 9020,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9020,\n            end: 9021,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@reversed\",\n            start: 9022,\n            end: 9031,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9031,\n            end: 9032,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9032,\n            end: 9033,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9069,\n            end: 9072,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Sum: \\\"\",\n            start: 9073,\n            end: 9080,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9081,\n            end: 9082,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"sum\",\n            start: 9083,\n            end: 9086,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9086,\n            end: 9087,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 9087,\n            end: 9095,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9095,\n            end: 9096,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9096,\n            end: 9097,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9103,\n            end: 9106,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Max: \\\"\",\n            start: 9107,\n            end: 9114,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9115,\n            end: 9116,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"max\",\n            start: 9117,\n            end: 9120,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9120,\n            end: 9121,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 9121,\n            end: 9129,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9129,\n            end: 9130,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9130,\n            end: 9131,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9137,\n            end: 9140,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Min: \\\"\",\n            start: 9141,\n            end: 9148,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9149,\n            end: 9150,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"min\",\n            start: 9151,\n            end: 9154,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9154,\n            end: 9155,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 9155,\n            end: 9163,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9163,\n            end: 9164,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9164,\n            end: 9165,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9171,\n            end: 9174,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Count: \\\"\",\n            start: 9175,\n            end: 9184,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9185,\n            end: 9186,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"scalar\",\n            start: 9187,\n            end: 9193,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9193,\n            end: 9194,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@numbers\",\n            start: 9194,\n            end: 9202,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9202,\n            end: 9203,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9203,\n            end: 9204,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 9206,\n            end: 9207,\n        },\n        TokenData {\n            kind: \"Sub\",\n            text: \"sub\",\n            start: 9229,\n            end: 9232,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"main\",\n            start: 9233,\n            end: 9237,\n        },\n        TokenData {\n            kind: \"LeftBrace\",\n            text: \"{\",\n            start: 9238,\n            end: 9239,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9245,\n            end: 9248,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== Perl Test Script ===\\\"\",\n            start: 9249,\n            end: 9275,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9275,\n            end: 9276,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 9310,\n            end: 9312,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$person\",\n            start: 9313,\n            end: 9320,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9321,\n            end: 9322,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Person\",\n            start: 9323,\n            end: 9329,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 9329,\n            end: 9331,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 9331,\n            end: 9334,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9334,\n            end: 9335,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 9345,\n            end: 9349,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9350,\n            end: 9351,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9351,\n            end: 9352,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"John Smith\\\"\",\n            start: 9353,\n            end: 9365,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9365,\n            end: 9366,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 9376,\n            end: 9379,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9380,\n            end: 9381,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9381,\n            end: 9382,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"35\",\n            start: 9383,\n            end: 9385,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9385,\n            end: 9386,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 9396,\n            end: 9401,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9402,\n            end: 9403,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9403,\n            end: 9404,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"john.smith@example.com\\\"\",\n            start: 9405,\n            end: 9429,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9435,\n            end: 9436,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9436,\n            end: 9437,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 9449,\n            end: 9451,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$employee\",\n            start: 9452,\n            end: 9461,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9462,\n            end: 9463,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"Employee\",\n            start: 9464,\n            end: 9472,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 9472,\n            end: 9474,\n        },\n        TokenData {\n            kind: \"New\",\n            text: \"new\",\n            start: 9474,\n            end: 9477,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9477,\n            end: 9478,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"name\",\n            start: 9488,\n            end: 9492,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9493,\n            end: 9494,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9494,\n            end: 9495,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Jane Doe\\\"\",\n            start: 9496,\n            end: 9506,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9506,\n            end: 9507,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"age\",\n            start: 9517,\n            end: 9520,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9521,\n            end: 9522,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9522,\n            end: 9523,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"28\",\n            start: 9524,\n            end: 9526,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9526,\n            end: 9527,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"email\",\n            start: 9537,\n            end: 9542,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9543,\n            end: 9544,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9544,\n            end: 9545,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"jane.doe@company.com\\\"\",\n            start: 9546,\n            end: 9568,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9568,\n            end: 9569,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"employee_id\",\n            start: 9579,\n            end: 9590,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9591,\n            end: 9592,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9592,\n            end: 9593,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"12345\",\n            start: 9594,\n            end: 9599,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9599,\n            end: 9600,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"department\",\n            start: 9610,\n            end: 9620,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9621,\n            end: 9622,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9622,\n            end: 9623,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Engineering\\\"\",\n            start: 9624,\n            end: 9637,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9637,\n            end: 9638,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"salary\",\n            start: 9648,\n            end: 9654,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 9655,\n            end: 9656,\n        },\n        TokenData {\n            kind: \"GreaterThan\",\n            text: \">\",\n            start: 9656,\n            end: 9657,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"75000\",\n            start: 9658,\n            end: 9663,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9669,\n            end: 9670,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9670,\n            end: 9671,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9683,\n            end: 9686,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$person\",\n            start: 9687,\n            end: 9694,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 9694,\n            end: 9696,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"to_string\",\n            start: 9696,\n            end: 9705,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9705,\n            end: 9706,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9706,\n            end: 9707,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9707,\n            end: 9708,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9714,\n            end: 9717,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$employee\",\n            start: 9718,\n            end: 9727,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 9727,\n            end: 9729,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"to_string\",\n            start: 9729,\n            end: 9738,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9738,\n            end: 9739,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9739,\n            end: 9740,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9740,\n            end: 9741,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9773,\n            end: 9776,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Is person adult? \\\"\",\n            start: 9777,\n            end: 9796,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9797,\n            end: 9798,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9799,\n            end: 9800,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$person\",\n            start: 9800,\n            end: 9807,\n        },\n        TokenData {\n            kind: \"Arrow\",\n            text: \"->\",\n            start: 9807,\n            end: 9809,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"is_adult\",\n            start: 9809,\n            end: 9817,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9817,\n            end: 9818,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9818,\n            end: 9819,\n        },\n        TokenData {\n            kind: \"Question\",\n            text: \"?\",\n            start: 9820,\n            end: 9821,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Yes\\\"\",\n            start: 9822,\n            end: 9827,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 9828,\n            end: 9829,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"No\\\"\",\n            start: 9830,\n            end: 9834,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9834,\n            end: 9835,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9835,\n            end: 9836,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9870,\n            end: 9873,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"greet\",\n            start: 9874,\n            end: 9879,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9879,\n            end: 9880,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Alice\\\"\",\n            start: 9880,\n            end: 9887,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9887,\n            end: 9888,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9888,\n            end: 9889,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9895,\n            end: 9898,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"greet\",\n            start: 9899,\n            end: 9904,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9904,\n            end: 9905,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Bob\\\"\",\n            start: 9905,\n            end: 9910,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 9910,\n            end: 9911,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Hi\\\"\",\n            start: 9912,\n            end: 9916,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9916,\n            end: 9917,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9917,\n            end: 9918,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9930,\n            end: 9933,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Factorial of 5: \\\"\",\n            start: 9934,\n            end: 9952,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9953,\n            end: 9954,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"factorial\",\n            start: 9955,\n            end: 9964,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 9964,\n            end: 9965,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"5\",\n            start: 9965,\n            end: 9966,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 9966,\n            end: 9967,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 9967,\n            end: 9968,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 9974,\n            end: 9977,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Fibonacci of 10: \\\"\",\n            start: 9978,\n            end: 9997,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 9998,\n            end: 9999,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"fibonacci\",\n            start: 10000,\n            end: 10009,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10009,\n            end: 10010,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 10010,\n            end: 10012,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10012,\n            end: 10013,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10013,\n            end: 10014,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_loops\",\n            start: 10048,\n            end: 10065,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10065,\n            end: 10066,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10066,\n            end: 10067,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10067,\n            end: 10068,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_conditionals\",\n            start: 10074,\n            end: 10098,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10098,\n            end: 10099,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"92\",\n            start: 10099,\n            end: 10101,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10101,\n            end: 10102,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10102,\n            end: 10103,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_strings\",\n            start: 10109,\n            end: 10128,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10128,\n            end: 10129,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10129,\n            end: 10130,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10130,\n            end: 10131,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_hashes\",\n            start: 10137,\n            end: 10155,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10155,\n            end: 10156,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10156,\n            end: 10157,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10157,\n            end: 10158,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"demonstrate_arrays\",\n            start: 10164,\n            end: 10182,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10182,\n            end: 10183,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10183,\n            end: 10184,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10184,\n            end: 10185,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 10224,\n            end: 10226,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 10227,\n            end: 10233,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 10234,\n            end: 10235,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"test@example.com\\\"\",\n            start: 10236,\n            end: 10254,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10254,\n            end: 10255,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 10261,\n            end: 10264,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Email '$email' is \\\"\",\n            start: 10265,\n            end: 10285,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 10286,\n            end: 10287,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10288,\n            end: 10289,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"validate_email\",\n            start: 10289,\n            end: 10303,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10303,\n            end: 10304,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$email\",\n            start: 10304,\n            end: 10310,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10310,\n            end: 10311,\n        },\n        TokenData {\n            kind: \"Question\",\n            text: \"?\",\n            start: 10312,\n            end: 10313,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"valid\\\"\",\n            start: 10314,\n            end: 10321,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 10322,\n            end: 10323,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"invalid\\\"\",\n            start: 10324,\n            end: 10333,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10333,\n            end: 10334,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10334,\n            end: 10335,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 10347,\n            end: 10349,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 10350,\n            end: 10355,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 10356,\n            end: 10357,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"There are 123 apples and 456 oranges\\\"\",\n            start: 10358,\n            end: 10396,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10396,\n            end: 10397,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 10403,\n            end: 10405,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@nums\",\n            start: 10406,\n            end: 10411,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 10412,\n            end: 10413,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"extract_numbers\",\n            start: 10414,\n            end: 10429,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10429,\n            end: 10430,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$text\",\n            start: 10430,\n            end: 10435,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10435,\n            end: 10436,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10436,\n            end: 10437,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 10443,\n            end: 10446,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"Numbers found: \\\"\",\n            start: 10447,\n            end: 10464,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 10465,\n            end: 10466,\n        },\n        TokenData {\n            kind: \"Join\",\n            text: \"join\",\n            start: 10467,\n            end: 10471,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10471,\n            end: 10472,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\", \\\"\",\n            start: 10472,\n            end: 10476,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 10476,\n            end: 10477,\n        },\n        TokenData {\n            kind: \"At\",\n            text: \"@nums\",\n            start: 10478,\n            end: 10483,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10483,\n            end: 10484,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10484,\n            end: 10485,\n        },\n        TokenData {\n            kind: \"My\",\n            text: \"my\",\n            start: 10519,\n            end: 10521,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10522,\n            end: 10529,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 10530,\n            end: 10531,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"safe_divide\",\n            start: 10532,\n            end: 10543,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10543,\n            end: 10544,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 10544,\n            end: 10546,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 10546,\n            end: 10547,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"2\",\n            start: 10548,\n            end: 10549,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10549,\n            end: 10550,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10550,\n            end: 10551,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 10557,\n            end: 10560,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"10 / 2 = \\\"\",\n            start: 10561,\n            end: 10572,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 10573,\n            end: 10574,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10575,\n            end: 10576,\n        },\n        TokenData {\n            kind: \"Defined\",\n            text: \"defined\",\n            start: 10576,\n            end: 10583,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10584,\n            end: 10591,\n        },\n        TokenData {\n            kind: \"Question\",\n            text: \"?\",\n            start: 10592,\n            end: 10593,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10594,\n            end: 10601,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 10602,\n            end: 10603,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"undefined\\\"\",\n            start: 10604,\n            end: 10615,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10615,\n            end: 10616,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10616,\n            end: 10617,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10629,\n            end: 10636,\n        },\n        TokenData {\n            kind: \"Assign\",\n            text: \"=\",\n            start: 10637,\n            end: 10638,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"safe_divide\",\n            start: 10639,\n            end: 10650,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10650,\n            end: 10651,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"10\",\n            start: 10651,\n            end: 10653,\n        },\n        TokenData {\n            kind: \"Comma\",\n            text: \",\",\n            start: 10653,\n            end: 10654,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"0\",\n            start: 10655,\n            end: 10656,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10656,\n            end: 10657,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10657,\n            end: 10658,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 10664,\n            end: 10667,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"10 / 0 = \\\"\",\n            start: 10668,\n            end: 10679,\n        },\n        TokenData {\n            kind: \"Concat\",\n            text: \".\",\n            start: 10680,\n            end: 10681,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10682,\n            end: 10683,\n        },\n        TokenData {\n            kind: \"Defined\",\n            text: \"defined\",\n            start: 10683,\n            end: 10690,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10691,\n            end: 10698,\n        },\n        TokenData {\n            kind: \"Question\",\n            text: \"?\",\n            start: 10699,\n            end: 10700,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$result\",\n            start: 10701,\n            end: 10708,\n        },\n        TokenData {\n            kind: \"Colon\",\n            text: \":\",\n            start: 10709,\n            end: 10710,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"undefined\\\"\",\n            start: 10711,\n            end: 10722,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10722,\n            end: 10723,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10723,\n            end: 10724,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"say\",\n            start: 10736,\n            end: 10739,\n        },\n        TokenData {\n            kind: \"StringLiteral\",\n            text: \"\\\"=== End of Test Script ===\\\"\",\n            start: 10740,\n            end: 10768,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10768,\n            end: 10769,\n        },\n        TokenData {\n            kind: \"RightBrace\",\n            text: \"}\",\n            start: 10771,\n            end: 10772,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"main\",\n            start: 10797,\n            end: 10801,\n        },\n        TokenData {\n            kind: \"LeftParen\",\n            text: \"(\",\n            start: 10801,\n            end: 10802,\n        },\n        TokenData {\n            kind: \"RightParen\",\n            text: \")\",\n            start: 10802,\n            end: 10803,\n        },\n        TokenData {\n            kind: \"If\",\n            text: \"if\",\n            start: 10804,\n            end: 10806,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"__FILE__\",\n            start: 10807,\n            end: 10815,\n        },\n        TokenData {\n            kind: \"Identifier\",\n            text: \"eq\",\n            start: 10816,\n            end: 10818,\n        },\n        TokenData {\n            kind: \"Dollar\",\n            text: \"$0\",\n            start: 10819,\n            end: 10821,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10821,\n            end: 10822,\n        },\n        TokenData {\n            kind: \"NumberLiteral\",\n            text: \"1\",\n            start: 10826,\n            end: 10827,\n        },\n        TokenData {\n            kind: \"Semicolon\",\n            text: \";\",\n            start: 10827,\n            end: 10828,\n        },\n        TokenData {\n            kind: \"Eof\",\n            text: \"\",\n            start: 10854,\n            end: 10854,\n        },\n    ],\n    errors: [],\n}" }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lexer::test_perl_lexer
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3dfe22ab737a694922dd92e6e6573646b8774ac0117f581f0bb4044d4a701a03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dfe22ab737a694922dd92e6e6573646b8774ac0117f581f0bb4044d4a701a03", kill_on_drop: false }`
[INFO] [stdout] 3dfe22ab737a694922dd92e6e6573646b8774ac0117f581f0bb4044d4a701a03
